#!/usr/bin/env python
# -*- coding:utf-8 -*-

# 如果一个字符串是 另一个字符串的重新排列组合，那么这两个字符串互为变位词。比如，”heart”与”earth”互为变位 词，”Mary”与”arMy”也互为变位词。

# 输入格式:
# 第一行输入第一个字符串，第二行输入第二个字符串。

# 输出格式:
# 输出“yes”,表示是互换词，输出“no”,表示不是互换词。

# 输入样例1:
# 在这里给出一组输入。例如：

# Mary
# arMy
# 输出样例1
# 在这里给出相应的输出。例如：

# yes
# 输入样例2:
# 在这里给出一组输入。例如：

# hello 114
# 114 hello
# 输出样例2:
# 在这里给出相应的输出。例如：

# yes
# 输入样例3:
# 在这里给出一组输入。例如：

# Wellcom
# mocllew
# 输出样例3:
# 在这里给出相应的输出。例如：

# no

TAGS =[chr(i) for i in range(ord('A'), ord('Z')+1)]

def read_int():
    return int(input())

def read_strs():
    return input().split()

def read_ints():
    values = input().split()
    return [int(i) for i in values]

def build_map(a):
    res = {}
    for i in a:
        res[i]=res.get(i, 0)+1
    return res

def f(a, b):
    ma = build_map(a)
    mb = build_map(b)
    if len(ma)!=len(mb):
        return False
    for k in ma:
        if ma[k] != mb.get(k):
            return False
    return True

def solve(a, b):
    if f(a,b):
        print('yes')
    else:
        print('no')
        
def main():
    a = input()
    b = input()
    solve(a, b)
    
if __name__ == '__main__':
    main()
